package com.fengmang.myapplication;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Path;
import android.os.Build;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;

import androidx.appcompat.widget.TintContextWrapper;


public class RoundImageView extends
        androidx.appcompat.widget.AppCompatImageView
//        ImageView
{


    float width,height;
    float round = 100 * BaseApplication.density;


//    public TestRoomAActivity() {
//        super();
//    }
//
//    public TestRoomAActivity(Context context) {
//        super();
//        otherActivity = (Activity) context;
//    }
//
//    public RoundImageView() {
//        this(context, null);
//    }

    public RoundImageView(Context context) {
//        super(context);
        this(context, null);

        Log.e("RoundImageView===", "==="+context);

    }

    public RoundImageView(Context context, AttributeSet attrs) {
//        super(context, attrs);
        super(context, attrs, 0);

        Log.e("RoundImageView===1", context+"==="+attrs);
    }

    public RoundImageView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);

        Log.e("RoundImageView===2", "==="+context);

//        super(TintContextWrapper.wrap(context), attrs, defStyleAttr);
        if (Build.VERSION.SDK_INT < 18) {
            setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
    }

//    public RoundImageView(Context context, AttributeSet attrs, int defStyleAttr, int a) {
//        super(context, attrs, defStyleAttr, a);
//    }

    @Override
    protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
        super.onLayout(changed, left, top, right, bottom);
        width = getWidth();
        height = getHeight();
    }

    @Override
    protected void onDraw(Canvas canvas) {

//        if (width > 12 && height > 12) {
//            Path path = new Path();
//            path.moveTo(12, 0);
//            path.lineTo(width - 12, 0);
//            path.quadTo(width, 0, width, 12);
//            path.lineTo(width, height - 12);
//            path.quadTo(width, height, width - 12, height);
//            path.lineTo(12, height);
//            path.quadTo(0, height, 0, height - 12);
//            path.lineTo(0, 12);
//            path.quadTo(0, 0, 12, 0);
//            canvas.clipPath(path);
//        }


        if (width > round && height > round) {
            Path path = new Path();
            path.moveTo(round, 0);
            path.lineTo(width - round, 0);
            path.quadTo(width, 0, width, round);
            path.lineTo(width, height - round);
            path.quadTo(width, height, width - round, height);
            path.lineTo(round, height);
            path.quadTo(0, height, 0, height - round);
            path.lineTo(0, round);
            path.quadTo(0, 0, round, 0);
            canvas.clipPath(path);
        }

        super.onDraw(canvas);


//        Paint paint = new Paint();
//        paint.setTextSize(40);
//        canvas.drawText("abc", 100, 200, paint);

    }
}
